<script>
/**
 * Form.vue
 * @module @/components
 * @desc 表单，包含元素：用户名、密码、再次确认密码、邮箱、留言文本域、submit按钮
 * @author chengxue@bolean
 * @date 2018年04月03日14:14:43
 * @props:
 * @param {Object} [blogCard] - 博客列表
 * @example 调用示例
 *  <bolean-form :eleIsVisible="eleIsVisible" :eventIndex='eventIndex' v-on:login='login'></bolean-form>
 */
let formData = {  // 表单元素
    username: "",
    passwd: "",
    passwdCheck: "",
    email: "",
    message: ""
}
let eleIsVisible = {  // 表单元素是否可见
    isUsername: true,
    isPasswd: true,
    isPasswdCheck: true,
    isEmail: true,
    isMessage: true
}
let eventTag = ['login','register','comment'];  // 冒泡到父元素事件名称
let _self = this;
export default {
  data(){
      return {
          formData, 
      }
  },
  props: {
    eleIsVisible: {
        type: Object,
        default: function(){
            return eleIsVisible;
        }
    },
    eventIndex: {
        type: Number,
        default: 0  // 可选区间[0, eventTag.length - 1]
    }  
  },
  methods: {
      // submit 事件
      submit: function(){
          if(valid){  // 校验标准通过
            let params = {};
            _self.$emit(eventTag[eventIndex],params);
          }
      }
  }
}
</script>
